import datetime
from datetime import time

from blinker.base import ANY_ID
from twisted.conch.ssh.connection import messages

# 装饰器
"""
装饰器的作用就是为已经存在的函数或对象添加额外的功能
"""


def dubug(func):
    def wrapper(*args, **kwargs):
        print('[DEBUG]:enter {}()'.format(func.__name__))
        return func()
    return wrapper


# 练习
# 请设计一个decorator，它可作用于任何函数上，并打印该函数的执行时间：

def decorator(func):
    def wrapper(*args, **kwargs):
        now = datetime.datetime.now()
        current_time = now.strftime("%Y-%m-%d %H:%M:%S")
        print("当前时间 =", current_time)
        return func(*args, **kwargs)
    return wrapper

@dubug
@decorator
def say_hello():
    print('hello')


if __name__ == '__main__':
    say_hello()